package com.itheima.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.itheima.pojo.Emp;
import com.itheima.pojo.EmpQueryParam;
import org.apache.ibatis.annotations.*;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;

@Mapper
public interface EmpMapper extends BaseMapper<Emp> {

    //分页查询 基于pagehelper插件
    List<Emp> getPage(EmpQueryParam queryParam);

    //添加员工
    //主键返回
    void addMapperEmp(Emp emp);

    //查询全部员工
    List<Emp> getMapperAllEmp();

    //删除员工(可批量)
    void deleteByIds(List<Integer> ids);

    //查询回显（根据id查询员工）
    Emp getEmpById(Integer id);

    //修改员工
    void updateEmp(Emp emp);

    //根据dept_id查询该部门内的员工人数
    Integer getCountByDeptId(Integer id);

    //员工职位人数统计
    @MapKey("name")//使用Map对象返回封装结果时，可以使用这个注解指定key
    List<Map> empJobCount();

    //员工性别人数统计
    @MapKey("name")
    List<Map> empGenderData();

    //登录认证
    Emp getUsernameAndPassword(Emp emp);

}
